#ifndef _MYLIST_
#define _MYLIST_

//方便灵活改变数据类型
typedef int DataType;

//结点结构体类型
struct node 
{
    struct node* pnext;  //指针域
    DataType num;             //数据域
};

//给结构体类型取别名
typedef struct node Node;

//创建链表
/*
参数：长度
返回值：头指针
*/
Node* CreateList(int length);

//遍历链表
//参数;头指针
//返回值：空
void TraverseList(const Node* const pList);

//插入节点
//参数;头指针，位置，数据
//返回值：头指针
Node* InsertElement(Node* pList,Node* pos,DataType val);

//删除一个指定节点
//参数;头指针，数据
//返回值：头指针
Node* DeleteElement(Node* pList,DataType val);

//查找一个指定节点
//参数;头指针，数据
//返回值：头指针
Node* FindElement(Node* pList,DataType val);

//修改一个指定节点
//参数;位置
//返回值：头指针
Node* ChangeElement(Node* pos,DataType val);

//清空链表

//链表排序

#endif